/*
 *  Scripts incluídos antes deste:
 *      - API do Google Maps;
 *      - jquery.js;
 *      - jquery.maskedinput.js
 *      - bootstrap.js
 *      - googleMaps.js
 *      - login.js
 */

var _passwordOK = false;
var _estiloOK = false;
var _tipoOK = false;
var _pontoOK = false;

/* =========================================================================
 * Função principal que executa apenas quando o documento estiver
 * completamente carregado.
 * ========================================================================= */
$(document).ready(function() {
    $("#cadastrarUsuario").attr('disabled', '' );
    $("#senha1").focusout(checkPassword);
    $("#senha2").focusout(checkPassword);
    $("#selectTipo").focusout(verificaTipos);
    $("#selectEstilo").focusout(verificaEstilos);
});

/* =========================================================================
 * Função que verifica a validade de uma senha de usuário e dá
 * a ele uma resposta visual.
 * ========================================================================= */
function checkPassword() {
    var senha1 = $("#senha1").val();
    var senha2 = $("#senha2").val();
    
    if (senha2 && senha1 !== senha2) {
        $("#checarSenha1").html('<span class="label label-important"><i class="icon-remove icon-white"></i></span><span class= "add-on"> As senhas devem ser iguais!</span>');
        $("#checarSenha2").html('');
        $("#cadastrarUsuario").attr('disabled', '' );
        _passwordOK = false;
    } else if(senha2) {
        if ( senha1.length < 6) {
            $("#checarSenha1").html('<span class="label label-important"><i class="icon-remove icon-white"></i></span><span class="add-on"> A senha deve ter pelo menos 6 caracteres!</span>');
            $("#checarSenha2").html('');
            $("#cadastrarUsuario").attr('disabled', '' );
            _passwordOK = false;
        } else if (/.*(?=.*\d)(?=.*[a-zA-Z]).*$/.test(senha1)) {
            $("#checarSenha1").html('<span class="label label-success"><i class="icon-ok icon-white"></i></span>');
            $("#checarSenha2").html('<span class="label label-success"><i class="icon-ok icon-white"></i></span>');
            _passwordOK = true;
            checarCampos();
        }
        else {
            $("#checarSenha1").html('<span class="label label-important"><i class="icon-remove icon-white"></i></span><span class="add-on"> A senha deve ter números e letras</span>');
            $("#checarSenha2").html('');
            $("#cadastrarUsuario").attr('disabled', '' );
            _passwordOK = false;
        }
    }
}

function verificaTipos() {
    if ($("#selectTipo").val() !== null) {
        _tipoOK = true;
        checarCampos();
    } else {
        $("#cadastrarUsuario").attr('disabled', '');
        _tipoOK = false;
    }
}

function verificaEstilos() {
    if ($("#selectEstilo").val() !== null) {
        _estiloOK = true;
        checarCampos();        
    } else {
        $("#cadastrarUsuario").attr('disabled', '');
        _estiloOK = false;
    }
}

function pontoSelecionado() {
    _pontoOK = true;
    checarCampos();
}

function checarCampos() {       
    if (_tipoOK && _estiloOK && _pontoOK && _passwordOK) {
        $("#cadastrarUsuario").removeAttr('disabled');
    }
}